home *** CD-ROM | disk | FTP | other *** search
- // Borland C++ Builder
- // Copyright (c) 1995, 1998 by Borland International
- // All rights reserved
-
- // (DO NOT EDIT: machine generated header) 'TypInfo.pas' rev: 3.00
-
- #ifndef TypInfoHPP
- #define TypInfoHPP
- #include <SysUtils.hpp>
- #include <SysInit.hpp>
- #include <System.hpp>
-
- //-- user supplied -----------------------------------------------------------
- namespace Typinfo
- {
- enum TParamFlag {pfVar, pfConst, pfArray, pfAddress, pfReference, pfOut};
- enum TIntfFlag {ifHasGuid, ifDispInterface, ifDispatch};
- typedef SetBase<TParamFlag, pfVar, pfOut> TParamFlagsBase;
- typedef SetBase<TIntfFlag, ifHasGuid, ifDispatch> TIntfFlagsBase;
- }
-
- namespace Typinfo
- {
- //-- type declarations -------------------------------------------------------
- enum TTypeKind { tkUnknown, tkInteger, tkChar, tkEnumeration, tkFloat, tkString, tkSet, tkClass, tkMethod,
- tkWChar, tkLString, tkWString, tkVariant, tkArray, tkRecord, tkInterface };
-
- typedef Set<TTypeKind, tkUnknown, tkInterface> TTypeKinds;
-
- enum TOrdType { otSByte, otUByte, otSWord, otUWord, otSLong };
-
- enum TFloatType { ftSingle, ftDouble, ftExtended, ftComp, ftCurr };
-
- enum TMethodKind { mkProcedure, mkFunction, mkSafeProcedure, mkSafeFunction };
-
- typedef Set<TParamFlag, pfVar, pfOut> TParamFlags;
-
- typedef Set<TIntfFlag, ifHasGuid, ifDispatch> TIntfFlags;
-
- struct TTypeInfo;
- typedef TTypeInfo *PTypeInfo;
-
- typedef PTypeInfo *PPTypeInfo;
-
- #pragma pack(push, 1)
- struct TTypeInfo
- {
- TTypeKind Kind;
- System::ShortString Name;
- } ;
- #pragma pack(pop)
-
- struct TTypeData;
- typedef TTypeData *PTypeData;
-
- #pragma pack(push, 1)
- struct TTypeData
- {
-
- union
- {
- struct
- {
- PTypeInfo *IntfParent;
- TIntfFlagsBase IntfFlags;
- GUID Guid;
- ShortStringBase IntfUnit;
-
- };
- struct
- {
- TMethodKind MethodKind;
- Byte ParamCount;
- char ParamList[1024];
-
- };
- struct
- {
- System::TMetaClass*ClassType;
- PTypeInfo *ParentInfo;
- short PropCount;
- ShortStringBase UnitName;
-
- };
- Byte MaxLength;
- TFloatType FloatType;
- TOrdType OrdType;
- union
- {
- PTypeInfo *CompType;
- struct
- {
- int MinValue;
- int MaxValue;
- union
- {
- struct
- {
- PTypeInfo *BaseType;
- ShortStringBase NameList;
-
- };
-
- };
- };
-
- };
- };
- } ;
- #pragma pack(pop)
-
- #pragma pack(push, 1)
- struct TypInfo__1
- {
-
- } ;
- #pragma pack(pop)
-
- #pragma pack(push, 1)
- struct TPropData
- {
- Word PropCount;
- TypInfo__1 PropList;
- } ;
- #pragma pack(pop)
-
- struct TPropInfo;
- typedef TPropInfo *PPropInfo;
-
- #pragma pack(push, 1)
- struct TPropInfo
- {
- PTypeInfo *PropType;
- void *GetProc;
- void *SetProc;
- void *StoredProc;
- int Index;
- int Default;
- short NameIndex;
- System::ShortString Name;
- } ;
- #pragma pack(pop)
-
- typedef void __fastcall (__closure *TPropInfoProc)(PPropInfo PropInfo);
-
- typedef TPropInfo *TPropList[16380];
-
- typedef TPropList *PPropList;
-
- //-- var, const, procedure ---------------------------------------------------
- #define tkAny (System::Set<TTypeKind, tkUnknown, tkInterface> () << tkUnknown << tkInteger << tkChar \
- << tkEnumeration << tkFloat << tkString << tkSet << tkClass << tkMethod << tkWChar << tkLString << tkWString \
- << tkVariant << tkArray << tkRecord << tkInterface )
- #define tkMethods (System::Set<TTypeKind, tkUnknown, tkInterface> () << tkUnknown )
- #define tkProperties (System::Set<TTypeKind, tkUnknown, tkInterface> () << tkInteger << tkChar << tkEnumeration \
- << tkFloat << tkString << tkSet << tkClass << tkWChar << tkLString << tkWString << tkVariant << tkArray \
- << tkRecord << tkInterface )
- extern PACKAGE System::AnsiString BooleanIdents[2];
- extern PACKAGE System::AnsiString DotSep;
- extern PACKAGE PTypeData __fastcall GetTypeData(PTypeInfo TypeInfo);
- extern PACKAGE System::AnsiString __fastcall GetEnumName(PTypeInfo TypeInfo, int Value);
- extern PACKAGE int __fastcall GetEnumValue(PTypeInfo TypeInfo, const System::AnsiString Name);
- extern PACKAGE PPropInfo __fastcall GetPropInfo(PTypeInfo TypeInfo, const System::AnsiString PropName
- );
- extern PACKAGE void __fastcall GetPropInfos(PTypeInfo TypeInfo, PPropList PropList);
- extern PACKAGE int __fastcall GetPropList(PTypeInfo TypeInfo, TTypeKinds TypeKinds, PPropList PropList
- );
- extern PACKAGE bool __fastcall IsStoredProp(System::TObject* Instance, PPropInfo PropInfo);
- extern PACKAGE int __fastcall GetOrdProp(System::TObject* Instance, PPropInfo PropInfo);
- extern PACKAGE void __fastcall SetOrdProp(System::TObject* Instance, PPropInfo PropInfo, int Value);
-
- extern PACKAGE System::AnsiString __fastcall GetStrProp(System::TObject* Instance, PPropInfo PropInfo
- );
- extern PACKAGE void __fastcall SetStrProp(System::TObject* Instance, PPropInfo PropInfo, const System::AnsiString
- Value);
- extern PACKAGE Extended __fastcall GetFloatProp(System::TObject* Instance, PPropInfo PropInfo);
- extern PACKAGE void __fastcall SetFloatProp(System::TObject* Instance, PPropInfo PropInfo, Extended
- Value);
- extern PACKAGE System::Variant __fastcall GetVariantProp(System::TObject* Instance, PPropInfo PropInfo
- );
- extern PACKAGE void __fastcall SetVariantProp(System::TObject* Instance, PPropInfo PropInfo, const System::Variant
- &Value);
- extern PACKAGE Sysutils::TMethod __fastcall GetMethodProp(System::TObject* Instance, PPropInfo PropInfo
- );
- extern PACKAGE void __fastcall SetMethodProp(System::TObject* Instance, PPropInfo PropInfo, const Sysutils::TMethod
- &Value);
-
- } /* namespace Typinfo */
- #if !defined(NO_IMPLICIT_NAMESPACE_USE)
- using namespace Typinfo;
- #endif
- //-- end unit ----------------------------------------------------------------
- #endif // TypInfo
-